package model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Diese Klasse stellt einen Angebotstyp dar.
 * 
 * @author dorina-sabine.bernhardt@stud.hdu-deggendorf.de Benoegtigte Lib:
 *         WebContent/WEB-INF/lib/ejb3-persistence.jar Letzte Aenderung:
 *         29.04.12 SB Umbenennung Klasse + Tabelle
 */
@Entity
// Die Annotation @Entity dient dazu eine Klasse als persistent zu definieren.
@Table(name = "Angebotstyp")
// Falls die Tabelle in der Datenbank nicht denselben Namen hat wie die Klasse
// so kann der Tabellenname mit Hilfe der Annotation @Table definiert werden.
public class Angebotstyp {
	@Id
	// Annotation @Id, gibt an, welches Attribut der Klasse als Identität
	// (Primärschlüssel) fungieren soll
	@GeneratedValue
	// Die Identität eines Objektes kann mit dieser Annotation auch automatisch
	// generiert werden.
	@Column(name = "ATID")
	// Die Annotation dient dazu, das Attribut in der Datenbank zu definieren;
	// (Bsp: name="familienname", length=30, nullable=false)
	/**
	 * Integer der die Id dieses Angebotstypen darstellt.
	 */
	private Integer id;

	/**
	 * String der die Bezichnung dieses Angebotstypen darstellt.
	 */
	private String Bezeichnung;

	/**
	 * Diese Methode gibt die Id dieses Angebotstypen zurück.
	 * 
	 * @return Interger der die Id dieses Angebotstypen darstellt
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * Diese Methode setzt die id dieses Angebotstypen auf den übergebenen Wert.
	 * 
	 * @param id
	 *            die neue id dieses Angebotstypen
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * Diese Methode gibt den {@link String} der die Bezeichnung dieses
	 * Angebotstypen darstellt zurück.
	 * 
	 * @return {@link String} der die Bezeichnung dieses Angebotstypen darstellt
	 */
	public String getBezeichnung() {
		return Bezeichnung;
	}

	/**
	 * Diese Methode setzt die Bezeichnung dieses Angebotstypen auf den
	 * übergebenen Wert.
	 * 
	 * @param Bezeichnung
	 *            String der die Bezeichnung dieses Angebotstypen darstellt
	 */
	public void setBezeichnung(String Bezeichnung) {
		this.Bezeichnung = Bezeichnung;
	}

	/**
	 * Ausgabe eines Angebotstypen
	 * 
	 * @return Ausgabestring mit den Attributen
	 * 
	 */
	public String toString() {
		return getId().toString() + " " + getBezeichnung();
	}
}
